  process 'unicorn' do
    pid_file "<%= fetch(:unicorn_pid) %>"
    start_command "<%= fetch(:rbenv_prefix) %> bundle exec unicorn -Dc <%= fetch(:unicorn_config_path) %> -E <%= fetch(:rails_env) %>"
    stdall "<%= fetch(:unicorn_log) %>"

    # stop signals:
    # http://unicorn.bogomips.org/SIGNALS.html
    stop_signals [:TERM, 10.seconds]

    # soft restart
    restart_command "kill -USR2 {PID}"

    # Master process checks
    <%= fetch(:unicorn_master_cpu_checks) %>
    <%= fetch(:unicorn_master_memory_checks) %>

    start_timeout <%= options[:start_timeout] %>.seconds
    stop_timeout <%= options[:stop_timeout] %>.seconds
    restart_timeout <%= options[:restart_timeout] %>.seconds

    start_grace <%= options[:start_grace] %>.seconds
    stop_grace <%= options[:stop_grace] %>.seconds
    restart_grace <%= options[:restart_grace] %>.seconds

    monitor_children do
      stop_command "kill -QUIT {PID}"

      # Children processes checks
      <%= fetch(:unicorn_children_cpu_checks, fetch(:unicorn_master_cpu_checks)) %>
      <%= fetch(:unicorn_children_memory_checks, fetch(:unicorn_master_memory_checks)) %>
    end
  end
